home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / netBoot.new / sun4c.md / old / sunmon.h < prev    next >
Text File  |  1990-12-19  |  3KB  |  96 lines

  1. /*
  2.  * sunmon.h
  3.  *
  4.  * @(#)sunmon.h 1.2 88/02/08 SMI
  5.  * Copyright (c) 1986 by Sun Microsystems, Inc.
  6.  */
  7.  
  8. /*
  9.  * Size of the Monitor prom, in bytes
  10.  */
  11. #define    PROMSIZE    0x40000        /* 64KB avail in one 27512 */
  12.  
  13. /*
  14.  * Various memory layout parameters.  
  15.  *
  16.  * The "-(MINFRAME+REG_SAVE_AREA)" in the "INITSP" definition below provides 
  17.  * space for the first window overflow and REG_SAVE_AREA.  "INITSP" is the
  18.  * initial stack pointer after reset.
  19.  */
  20. #define    INITSP   (STACK_TOP-(MINFRAME+REG_SAVE_AREA))
  21. #define    USERCODE 0x2000 /* starting address for user programs */
  22.  
  23. /*
  24.  * Size of line input buffer
  25.  */
  26. #define    BUFSIZE        80
  27.  
  28. /*
  29.  * Size of up/down keyboard's typeahead buffer.  It is scanned
  30.  * by the refresh routine, and keycodes deposited here.  Then later
  31.  * they are picked up by the monitor busywait keyboard routine, or
  32.  * by Unix or other application programs directly.
  33.  *
  34.  * Note that each keystroke, if typed slowly (by computer standards)
  35.  * takes 3 bytes: a key-down, a key-up, and a keyboard-idle.  So allocate
  36.  * three times as much room as you want to be able to type ahead.  (Of
  37.  * course, this typeahead won't echo immediately in the monitor, but will
  38.  * echo in its proper place in the I/O transcript.)
  39.  */
  40. #define    KEYBUFSIZE    90
  41.  
  42. /*
  43.  * Frequency of the NMI timer used for keyboard scanning.
  44.  *
  45.  * NMIFREQ is how many times we will run the NMI routine per second.
  46.  *
  47.  * Since Sun-3 hardware provides 1/100th, 1/10th, and 1-second interrupts,
  48.  * we have to run it at 1/100th second.
  49.  */
  50. #define    NMIFREQ        100
  51.  
  52. /*
  53.  * Size of the transparent I/O (terminal emulator) receive-ahead buffer.
  54.  * It needs at least a line or so, for when it scrolls.
  55.  *
  56.  * HALTMAX is the how many chars are in the buffer when we send a ^S
  57.  * to encourage the host to stop sending.  HALTMIN is how many are in
  58.  * when we send a ^Q to encourage the host to resume.  (It should be
  59.  * more than 0, because it takes the host awhile to receive the ^Q
  60.  * and to restart its output.)  HALTCHAR is ^S.  HALTENDCHAR is ^Q.
  61.  *
  62.  * Note that the larger TRANSPBUFSIZE is, the more lines we can scroll up
  63.  * at once as we get behind.  This may be undesirable to some people; it may
  64.  * be very desirable to others, 'coz it makes it run mooch faster.
  65.  *
  66.  * When you change TRANSPBUFSIZE, be sure to change HALTMAX too.  It should
  67.  * lag behind BufSIZE by 100 or so chars, depending on how fast the host
  68.  * responds to ^S.  (100 chars gives .1 second leeway at 9600 baud).
  69.  */
  70. #define    TRANSPBUFSIZE    1000
  71. #define    TRANSPHALTMAX    900
  72. #define    TRANSPHALTMIN    25
  73. #define    TRANSPHALTCHAR    0x13        /* ^S */
  74. #define    TRANSPHALTENDCHAR    0x11    /* ^Q */
  75.  
  76. /*
  77.  * This character takes you out of transparent mode, from a serial terminal.
  78.  */
  79. #define    CENDTRANSP    '\036'        /* ^^ (ctrl ^) */
  80.  
  81. /*
  82.  * These are the "erase" and "kill" characters for
  83.  * input processing.
  84.  */
  85. #define ESCAPEKEY       0x1b            /* escape character */
  86. #define    BACKSPACEKEY    '\b'        /* backspace */
  87. #define    DELETEKEY    0x7F        /* delete */
  88. #define    DELETELINE    0x15        /* ^u - delete line */
  89. #define    DELETEWORD    0x17        /* ^w delete word */
  90. #define RETURNKEY       0xd             /* return key */
  91. #define NEWLINEKEY      '\n'            /* newline */
  92. #define TABKEY          '    '       /* tab */
  93. #define SPACEKEY        ' '             /* space */
  94. #define    UPCASE        0x5F        /* mask to force upper case letters */
  95. #define    NOPARITY    0x7F        /* mask to strip off parity */
  96.